package com.tuanbiao.controllers;

import android.content.Intent;

import com.hzjq.data.entity.BlastLonLat;
import com.hzjq.data.hzjq.entity.AppDataEntity;
import com.tuanbiao.base.mvp.IModel;
import com.tuanbiao.base.mvp.IPresenter;
import com.tuanbiao.base.mvp.IView;
import com.tuanbiao.models.action.AuthAction;
import com.tuanbiao.models.action.CheckAction;
import com.tuanbiao.models.action.DeviceInfoAction;
import com.tuanbiao.models.action.HttpAction;
import com.tuanbiao.models.action.LocationAction;
import com.tuanbiao.models.action.ProjectAction;
import com.tuanbiao.models.action.SettingAction;
import com.tuanbiao.models.action.UploadAction;

/**
 * @author abiao
 * @since 2022/3/28 9:44
 */
public interface MainController {
    interface Model extends IModel, CheckAction, ProjectAction, LocationAction, DeviceInfoAction, SettingAction, AuthAction, HttpAction, UploadAction {
    }

    interface View extends IView {
        void startPlanManage();

        void startBlast();

        void startAuth();

        void startOnlineAuth();

        void startSingleCheck();

        void startLocation();

        void showLonLat(BlastLonLat blastLonLat);

        void showSubTitle(String num);

        void showCheckDialog();

        void hideCheckDialog();

        void showUpdateDialog(AppDataEntity entity);

        void startInstall(Intent installAppIntent);

        void showUploadDialog();

        void showBatterInterval(boolean visibility,String startTime);
    }

    interface Presenter extends IPresenter {
        void startPlanManage();

        void startBlast();

        void startAuth();

        void startSingleCheck();

        void startLocation();

        void downloadApk(AppDataEntity entity);

        void clearBatteryInterval();
    }

}
